//1. 下载token 第3方包
// npm i jsonwebtoken
//2. 引入，它不是中间件。

const JWT = require('jsonwebtoken')
let secretOrPrivateKey = 'adflkjafdlkjad;lfkjsa;dfkjsf我是锁子'
// console.log( typeof JWT )

// JWT.sign( payload, secretOrPrivateKey[,options] ) //=> 根据已知数据生成一个token字符串
    //payload: 要加密的数据对象
    //secretOrPrivateKey: 一把你自己的私密钥匙：私钥
    /*
        options:{
            expiresIn:设置过期时间的，秒
        }
    */
    //=> iat: 1641880651 生成的token会自动加一个这个token生成时间 。

let data = {
    mid:'xxx-0001-xxx',
    tel:'15811112222',
    username:'zs'
}

let tokenStr = JWT.sign( data,secretOrPrivateKey,{expiresIn:30} )

// console.log( tokenStr )
/*
mid: 'xxx-0001-xxx',
  tel: '15811112222',
  username: 'zs',
  iat: 1641883069, //token是什么时候生成的
  exp: 1641883099  //什么时候过期
*/ 
let tks='adfsfd'
let d = JWT.verify( tks,secretOrPrivateKey ) //验证通过会原样解析出来，如果token无效则报错。

console.log( d,'解密|验证' )